package es.udima.geo.geoserver.entities;

import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * Resultado de la lectura de datos almacenados.
 * 
 * @author david
 *
 */
public class GpsDataRetrieveResult {

    /**
     * Filtro aplicado en la recuperación.
     */
    private GpsDataFilter filter;
    
    /**
     * Lista de datos recuperados.
     */
    private List<GpsData> gpsData;
    
    /**
     * Posibles errores ocurridos durante la recuperación.
     */
    private Set<GpsDataRetrieveResultError> errors;

    /**
     * Constructor
     */
    public GpsDataRetrieveResult() {
	errors = new HashSet<GpsDataRetrieveResultError>();
    }

    public GpsDataFilter getFilter() {
	return filter;
    }

    public void setFilter(GpsDataFilter filter) {
	this.filter = filter;
    }

    public List<GpsData> getGpsData() {
	return gpsData;
    }

    public void setGpsData(List<GpsData> gpsData) {
	this.gpsData = gpsData;
    }
    
    public boolean isSuccessful() {
	return errors.isEmpty();
    }

    public Collection<GpsDataRetrieveResultError> getErrors() {
	return errors;
    }

    public void addError(GpsDataRetrieveResultError error) {
	this.errors.add(error);
    }

    public void addError(Collection<GpsDataRetrieveResultError> errors) {
	this.errors.addAll(errors);
    }
}
